package com.espirit.eap.manager;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Transient;

@Embeddable
public class GlobalSetting {
	
	public static  final String START_WORKFLOW = "setting.startWorkFlow";
	public static  final String BASIC_CY_ID = "setting.basicCy.id";
	public static  final String PRICE_SCALE = "setting.priceScale";
	public static  final String AMOUNT_SCALE = "setting.amountScale";
	public static  final String TOP_MENU = "setting.topMenu";
	public static  final String PAGE_SIZE = "setting.pageSize";
	
	public static  final String AUTOCLOSE_AFTEROFFER = "setting.autoCloseAfterOffer";
	public static  final String DAYSDiff_AUTOMATCHED = "setting.daysDiffAutoMatched";
	
	public static  final String DATE_FORMAT = "setting.dateFormat";
	public static  final String AUTO_SHIP = "setting.autoShip";
	public static  final String AUTO_GONEXT = "setting.autoGoNext";
	public static  final String RFQMATCHEDITEM_NEEDACCEPT = "setting.rfqMatchedItemNeedAccept";
	
	public static  final String DAYS_GAP = "setting.daysGap";
	public static  final String SHOW_OWNER = "setting.showOwner";
	public final static String START_DELIVERY = "setting.startDelivery";
	public static  final String ISBROKER = "setting.isBroker";
	
	public static final String GP_IMPORT_SO_SIDE = "setting.gpImportSoSide";
	public static  final String DELIVERY_NOTIFY = "setting.deliveryNotify";
	public static  final String INCLUDE_ENTERPRISE_BEHALF = "setting.includeEnterpriseBehalf";
	public static  final String INCLUDE_PPV = "setting.includePPV";
	public static  final String INCLUDE_ITEMALLOCATE_AND_PURCHASINGITEM = "setting.includeItemAllocateAndPurchasingItem";
	
	public static  final String UNIFY_PARTITEMCODE = "setting.unifyPartItemCode";
	
	private Boolean startWorkFlow;
	private Integer priceScale;
	private Integer amountScale;
	private Boolean topMenu;
	private Integer pageSize;
	private Boolean autoCloseAfterOffer; //myrfqitem ,default false
	private Integer daysDiffAutoMatched; //
	private String rfqSubscribeItems;
	private String PublishToRfqItems;
	private String dateFormat;
	
	private Boolean autoGoNext; // save ,and directly go next. simple process
	private Boolean autoShip; //auto ship
	
	private Boolean rfqMatchedItemNeedAccept;
	
	private Integer daysGap;
	private Boolean showOwner;
	
	
	@Column(length=1000)
	public String getRfqSubscribeItems() {
		return rfqSubscribeItems;
	}
	public void setRfqSubscribeItems(String rfqSubscribeItems) {
		this.rfqSubscribeItems = rfqSubscribeItems;
	}
	
	@Column(length=1000)
	public String getPublishToRfqItems() {
		return PublishToRfqItems;
	}
	public void setPublishToRfqItems(String publishToRfqItems) {
		PublishToRfqItems = publishToRfqItems;
	}
	public void setStartWorkFlow(Boolean startWorkFlow) {
		this.startWorkFlow = startWorkFlow;
	}
	public Boolean getStartWorkFlow() {
		return startWorkFlow;
	}
	
	@Transient
	public boolean isStartedWorkFlow(){
		return (startWorkFlow == null || startWorkFlow.booleanValue() == false ? false : true);
	}
	public Integer getPriceScale() {
		return priceScale;
	}
	public void setPriceScale(Integer priceScale) {
		this.priceScale = priceScale;
	}
	public Boolean getTopMenu() {
		return topMenu;
	}
	public void setTopMenu(Boolean topMenu) {
		this.topMenu = topMenu;
	}
	public Integer getAmountScale() {
		return amountScale;
	}
	public void setAmountScale(Integer amountScale) {
		this.amountScale = amountScale;
	}
	public Integer getPageSize() {
		return pageSize;
	}
	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	public Boolean getAutoCloseAfterOffer() {
		return autoCloseAfterOffer;
	}
	public void setAutoCloseAfterOffer(Boolean autoCloseAfterOffer) {
		this.autoCloseAfterOffer = autoCloseAfterOffer;
	}
	public Integer getDaysDiffAutoMatched() {
		return daysDiffAutoMatched;
	}
	public void setDaysDiffAutoMatched(Integer daysDiffAutoMatched) {
		this.daysDiffAutoMatched = daysDiffAutoMatched;
	}
	
	private String[] autoRfqSubscribeItems;
	@Transient
	public String[] getAutoRfqSubscribeItems() {
		return autoRfqSubscribeItems;
	}
	public void setAutoRfqSubscribeItems(String[] autoRfqSubscribeItems) {
		this.autoRfqSubscribeItems = autoRfqSubscribeItems;
	}
	
	private String[] autoPublishToRfqItems;
	@Transient
	public String[] getAutoPublishToRfqItems() {
		return autoPublishToRfqItems;
	}
	public void setAutoPublishToRfqItems(String[] autoPublishToRfqItems) {
		this.autoPublishToRfqItems = autoPublishToRfqItems;
	}
	public String getDateFormat() {
		return dateFormat;
	}
	public void setDateFormat(String dateFormat) {
		this.dateFormat = dateFormat;
	}

	public Boolean getAutoGoNext() {
		return autoGoNext;
	}
	public void setAutoGoNext(Boolean autoGoNext) {
		this.autoGoNext = autoGoNext;
	}
	public Boolean getAutoShip() {
		return autoShip;
	}
	public void setAutoShip(Boolean autoShip) {
		this.autoShip = autoShip;
	}

	public Boolean getRfqMatchedItemNeedAccept() {
		return rfqMatchedItemNeedAccept;
	}
	public void setRfqMatchedItemNeedAccept(Boolean rfqMatchedItemNeedAccept) {
		this.rfqMatchedItemNeedAccept = rfqMatchedItemNeedAccept;
	}
	public Boolean getShowOwner() {
		return showOwner;
	}
	public void setShowOwner(Boolean showOwner) {
		this.showOwner = showOwner;
	}
	public Integer getDaysGap() {
		return daysGap;
	}
	public void setDaysGap(Integer daysGap) {
		this.daysGap = daysGap;
	}
	
	
	
	
	Boolean startDelivery;


	@Transient
	public Boolean getStartDelivery() {
		return startDelivery;
	}
	public void setStartDelivery(Boolean startDelivery) {
		this.startDelivery = startDelivery;
	}
	
	Boolean gpImportSoSide;

	@Transient
	public Boolean getGpImportSoSide() {
		return gpImportSoSide;
	}
	public void setGpImportSoSide(Boolean gpSoSide) {
		this.gpImportSoSide = gpSoSide;
	}
	
	Boolean deliveryNotify;
	@Transient
	public Boolean getDeliveryNotify() {
		return deliveryNotify;
	}
	public void setDeliveryNotify(Boolean deliveryNotify) {
		this.deliveryNotify = deliveryNotify;
	}
	
	Boolean includeEnterpriseBehalf;
	@Transient
	public Boolean getIncludeEnterpriseBehalf() {
		return includeEnterpriseBehalf;
	}
	public void setIncludeEnterpriseBehalf(Boolean includeEnterpriseBehalf) {
		this.includeEnterpriseBehalf = includeEnterpriseBehalf;
	}
	
	Boolean includePPV;
	@Transient
	public Boolean getIncludePPV() {
		return includePPV;
	}
	public void setIncludePPV(Boolean includePPV) {
		this.includePPV = includePPV;
	}
	
	Boolean includeItemAllocateAndPurchasingItem;

	@Transient
	public Boolean getIncludeItemAllocateAndPurchasingItem() {
		return includeItemAllocateAndPurchasingItem;
	}
	public void setIncludeItemAllocateAndPurchasingItem(
			Boolean includeItemAllocateAndPurchasingItem) {
		this.includeItemAllocateAndPurchasingItem = includeItemAllocateAndPurchasingItem;
	}
	
	Boolean unifyPartItemCode; //

	@Transient
	public Boolean getUnifyPartItemCode() {
		return unifyPartItemCode;
	}
	public void setUnifyPartItemCode(Boolean unifyPartItemCode) {
		this.unifyPartItemCode = unifyPartItemCode;
	}
	
}
